package com.fowo.api.model.tmp.walmart.stock;

import com.alibaba.excel.annotation.ExcelProperty;
import com.fowo.api.common.validator.*;
import javax.validation.constraints.*;
import lombok.Getter;
import lombok.Setter;

/**
 * WFS库存临时表 预览导入辅助模型(全字段为文本类型)
 * @author yl_ls
 */
@Getter
@Setter
public class TmpWalmartStockImportPo {

  /** GTIN */
  @ExcelProperty("GTIN")
  @Size(max = 50, message = "GTIN长度不能超过50")
  private String gtin;

  /** 平台商品id */
  @ExcelProperty("平台商品id")
  @Size(max = 50, message = "平台商品id长度不能超过50")
  private String itemId;

  /** MSKU */
  @ExcelProperty("MSKU")
  @Size(max = 50, message = "MSKU长度不能超过50")
  private String msku;

  /** 标题 */
  @ExcelProperty("标题")
  private String title;

  /** 品牌名称 */
  @ExcelProperty("品牌名称")
  @Size(max = 50, message = "品牌名称长度不能超过50")
  private String brandName;

  /** 商品状态 */
  @ExcelProperty("商品状态")
  @Size(max = 50, message = "商品状态长度不能超过50")
  private String platformProductStatus;

  /** WFS可售 */
  @ExcelProperty("WFS可售")
  @IntegerString(message = "WFS可售数值格式不正确", label = "WFS可售", min = 0)
  private String availableQuantity;

  /** 无法入库数量 */
  @ExcelProperty("无法入库数量")
  @IntegerString(
    message = "无法入库数量数值格式不正确",
    label = "无法入库数量",
    min = 0
  )
  private String unabledWarehousingQuantity;

  /** 标发在途 */
  @ExcelProperty("标发在途")
  @IntegerString(
    message = "标发在途数值格式不正确",
    label = "标发在途",
    min = 0
  )
  private String inboundQuantity;

  /** 3个月内库龄 */
  @ExcelProperty("3个月内库龄")
  @IntegerString(
    message = "3个月内库龄数值格式不正确",
    label = "3个月内库龄",
    min = 0
  )
  private String ats03Months;

  /** 3-6个月库龄 */
  @ExcelProperty("3-6个月库龄")
  @IntegerString(
    message = "3-6个月库龄数值格式不正确",
    label = "3-6个月库龄",
    min = 0
  )
  private String ats36Months;

  /** 6-9个月库龄 */
  @ExcelProperty("6-9个月库龄")
  @IntegerString(
    message = "6-9个月库龄数值格式不正确",
    label = "6-9个月库龄",
    min = 0
  )
  private String ats69Months;

  /** 9-12个月库龄 */
  @ExcelProperty("9-12个月库龄")
  @IntegerString(
    message = "9-12个月库龄数值格式不正确",
    label = "9-12个月库龄",
    min = 0
  )
  private String ats912Months;

  /** 12个月以上库龄 */
  @ExcelProperty("12个月以上库龄")
  @IntegerString(
    message = "12个月以上库龄数值格式不正确",
    label = "12个月以上库龄",
    min = 0
  )
  private String ats1Years;

  /** 近30天入库 */
  @ExcelProperty("近30天入库")
  @IntegerString(
    message = "近30天入库数值格式不正确",
    label = "近30天入库",
    min = 0
  )
  private String last30DaysUnitsReceived;

  /** 近30天计划入库 */
  @ExcelProperty("近30天计划入库")
  @IntegerString(
    message = "近30天计划入库数值格式不正确",
    label = "近30天计划入库",
    min = 0
  )
  private String last30DaysPoUnits;

  /** 总库存 */
  @ExcelProperty("总库存")
  @IntegerString(message = "总库存数值格式不正确", label = "总库存", min = 0)
  private String quantity;

  /** 本地产品id */
  @ExcelProperty("本地产品id")
  @LongString(
    message = "本地产品id数值格式不正确",
    label = "本地产品id",
    min = 0L
  )
  private String pid;

  /** SKU */
  @ExcelProperty("SKU")
  @Size(max = 50, message = "SKU长度不能超过50")
  private String sku;

  /** 品名 */
  @ExcelProperty("品名")
  @Size(max = 1000, message = "品名长度不能超过1000")
  private String productName;

  /** 店铺id */
  @ExcelProperty("店铺id")
  @LongString(message = "店铺id数值格式不正确", label = "店铺id", min = 0L)
  private String sid;

  /** 店铺名 */
  @ExcelProperty("店铺名")
  @Size(max = 50, message = "店铺名长度不能超过50")
  private String shopName;
}
